package com.jsbj.user.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jsbj.base.ResultBean;
import com.jsbj.user.entities.SysOrg;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 组织结构表（集团-公司-项目-标段） 服务类
 * </p>
 *
 * @author jsbj
 * @since 2022-03-07
 */
public interface ISysOrgService extends IService<SysOrg> {

    List<SysOrg> getInfoByUserIdAndTenantCode(String userId, String tenantCode);

    //首页定制化方法  试验系统显示检测单位  其他显示标段
    List<SysOrg> getInfoByUserIdAndTenantCodeHomePage(String userId, String tenantCode, String data);

    //通过用户id+项目编码查询标段列表  用户中心设备管理定制化接口  增加试验检测单位
    List<SysOrg> getInfoByUserIdAndTenantCodeEqu(String userId, String tenantCode);

    List<SysOrg> getTestUnitByUserIdAndTenantCode(String userId, String tenantCode,String secType);

    List<SysOrg> getTestUnitByUserIdAndTenantCodeAndOrgCode(String userId, String tenantCode, String orgCode);

    SysOrg getInfoByOrgCode(String orgCode, String tenantCode);

    List<SysOrg> getSGInfoByTenatCode(String userId, String tenantCode);

    List<SysOrg> getInfoByTenantCode(String tenantCode);

    IPage<SysOrg> getListData(String inParam);

    ResultBean<JSONObject> saveOrUpdateData(SysOrg sysOrg);

    SysOrg getDetail(String id);

    ResultBean<JSONObject> deleteData(String id);

    List<SysOrg> getAllInfoByTenatCode(String userId, String tenantCode);

    List<SysOrg> getOrgTreeByQx(String inParam);

    List<SysOrg> getSTHBInfoByTenatCode(String userId, String tenantCode);

    List<SysOrg> getListDataQxAll(String inParam);

    ResultBean<JSONObject> saveOrUpdateDataEngineering(SysOrg sysOrg);

    IPage<Map<String, Object>> getOrgListPage(HttpServletRequest request, String inParam);

    List<Map<String, Object>> getOrgListByUserIdAndOrgName(String inParam);
}
